package com.atmilan.quartz.service;

import java.util.List;

import com.atmilan.quartz.model.dto.buyer.ManifestDTO;
import com.atmilan.quartz.model.entity.buyer.Manifest;
import com.atmilan.quartz.model.vo.buyer.ManifestQuery;

import cn.hutool.db.PageResult;

/**
 * 【请填写功能名称】Service接口
 * 
 * @author muyu
 * @date 2020-09-01
 */
public interface IManifestService {
    /**
     * 查询【请填写功能名称】
     * 
     * @param id 【请填写功能名称】ID
     * @return 【请填写功能名称】
     */
    public ManifestDTO getManifestById(Long id);

    Manifest getByManifestName(String manifestName);

    Manifest getByManifestNameAndMerchantId(String manifestName, Long merchantId);

    /**
     * 查询【请填写功能名称】
     *
     * @param merchantId 【商户】merchantId
     * @return 【请填写功能名称】
     */
    public List<ManifestDTO> getManifestByMerchantId(Long merchantId);

    /**
     * 查询【请填写功能名称】列表
     * 
     * @param manifest 【请填写功能名称】
     * @return 【请填写功能名称】集合
     */
    public PageResult<ManifestDTO> queryManifestList(ManifestQuery manifest);

    /**
     * 新增【请填写功能名称】
     * 
     * @param manifest 【请填写功能名称】
     * @return 结果
     */
    public Long insertManifest(ManifestDTO manifest);

    /**
     * 修改【请填写功能名称】
     * 
     * @param manifest 【请填写功能名称】
     * @return 结果
     */
    public boolean updateManifest(ManifestDTO manifest);

    /**
     * 批量删除【请填写功能名称】
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public boolean deleteManifestByIds(String ids);

    /**
     * 删除【请填写功能名称】信息
     * 
     * @param id 【请填写功能名称】ID
     * @return 结果
     */
    public boolean deleteManifestById(Long id);

}
